博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《jQuery、jQuery UI及jQuery Mobile技巧与示例》——7.3 技巧:将元素转换为按钮微件...
阅读量:5798 次
发布时间:2019-06-18

本文共 1956 字,大约阅读时间需要 6 分钟。

本节书摘来自异步社区《jQuery、jQuery UI及jQuery Mobile技巧与示例》一书中的第7章,第7.3节,作者:【荷】Adriaan de Jonge , 【美】Phil Dutson著,更多章节内容可以访问云栖社区“异步社区”公众号查看

7.3 技巧:将元素转换为按钮微件

一般情况下,HTML提供了多种方法创建看似按钮的元素,甚至不使用CSS样式或JavaScript。回想一下,比如button元素、类型为button和submit的输入框。

通过结合CSS和JavaScript,任何元素都可以做成如按钮一样的外观。代码清单7-3演示了jQuery UI如何帮助你创建按钮。

代码清单7-3 选取一列元素并装饰成按钮

00 0102 03 04  jQuery UI Button05  
07 08 0910
11  
12  
13  
My link14  

15   My paragraph16  

17  
    18   
  • My unordered list
  • 19   
  • This might not be the best idea . . .
  • 20  
21
2223 24 2627 40 41

在这个列表中,第11~20行是一组不同类型的HTML元素。当应用了第31~36行的代码后,所有元素都装饰成按钮而且看起来大致相似。

7.3.1 为按钮元素添加样式

如果想使用自定义的CSS样式,那么在按钮生成后,可以使用下面的HTML结构:

 
|  
My button  
 
   My link  
  
   My paragraph    

 
      
       
  • My unordered list
  •    
  • This might not be the best idea. . .
  •   
     

按钮组件添加了许多类,它们可用于定义样式或复用现有的主题。此外,还会嵌套附加的span标签来包裹按钮组件的内容。

当用户与按钮进行交互时,按钮会获取临时附加的类:ui-state-hover、ui-state-active、ui-state-disabled和ui-button-disabled。

7.3.2 设置按钮的选项

disabled选项已经在前一章中讨论过。但是,尤其是在按钮的上下文中,该选项还是值得重复讨论的,因为禁用按钮元素要比禁用可拖曳元素频繁得多。以下示例演示了如何禁用按钮,如何在按钮上显示图标,以及如何更改按钮的文字。

禁用按钮:

$('button').button({ disabled: true});在按钮上显示两个图标,取代文字:$('button').button({   text: false,   icons: {    primary:'ui-icon-signal',    secondary:'ui-icon-signal-diag'}});

将按钮的文字更改为指定的值:

$('button').button({ label: 'Say something different'});

7.3.3 捕获按钮的事件
就像其他微件一样,按钮的事件处理可在创建过程和初始化过程中完成。下面的代码片段举例说明了如何处理按钮的事件。

当一个新的按钮初始化时,处理事件:

$('button').button({create: function(event, ui) {   // 事件处理}});//或$('button') .on('buttoncreate', function(event, ui) {   // 事件处理 }) .button();

你可能会惊讶在这里没有找到其他的事件。事实上,按钮上最重要的事件就是click。由于click事件已经存在于所有的HTML元素,所以jQuery UI框架就没必要重新创建它。

7.3.4 调用按钮的方法

按钮微件的可用方法与本章开头讲到的折叠菜单微件以及在第6章讲到的可拖曳组件的方法是相似的。我建议你参考这些章节中关于destroy、disable、enable、option和widget的详细介绍。

基于页面的当前状态的按钮要手动刷新:

$('button').button('refresh');

转载地址:http://gjpfx.baihongyu.com/

你可能感兴趣的文章
走出浮躁的泥沼:浮躁的社会原因
查看>>
SQL-20 查找员工编号emp_no为10001其自入职以来的薪水salary涨幅值growth
查看>>
【哈希表】Ural Championship April 30, 2017 Problem H. Hamburgers
查看>>
JS作用域理解(声明提升)
查看>>
Tomcat 系统架构与设计模式
查看>>
相似文本文档分析之SimHash算法
查看>>
【CodeForces】901 C. Bipartite Segments
查看>>
【BZOJ】1709: [Usaco2007 Oct]Super Paintball超级弹珠
查看>>
几种不同的json格式解析
查看>>
leetcode 45: Permutations
查看>>
被苹果店气走之后继续寻求售后服务的经历
查看>>
ASP.NET的一次奇遇:UserControl写成Control引发的w3wp进程崩溃
查看>>
Android Gradle 自定义任务执行命令行
查看>>
linux中常见命令操作(转)
查看>>
关于Unity树形插件Tree View Control的相关搜集
查看>>
Unhandled Exception:System.DllNotFoundException: Unable to load DLL"**":找不到指定的模块
查看>>
数组中连续重复数据删选且记下所在索引-demo
查看>>
《人月神话》阅读笔记2
查看>>
opencv利用Cascade Classifier训练人脸检测器
查看>>
FortiGate数据流分析 debug flow
查看>>